package cn.wolfcode.crm.serivce;

import cn.wolfcode.crm.domain.Member;
import cn.wolfcode.crm.query.MemberQueryObject;
import cn.wolfcode.crm.util.PageResult;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface IMemberService {
    void deleteByPrimaryKey(Long id);

    void saveOrUpdate(Member record);

    Member selectByPrimaryKey(Long id);

    PageResult query(MemberQueryObject qo);

    List<Member> selectAll();
    List<Member> selectByChangeKey();

    Integer selectBirthday();

    Integer selectBirthdayByMonth();

    Integer selectCount();
    void changeType(Long id);

    void zeroPoint(Member member);

    Member selectByMemberClientId(Long id);

    Member selectByRechargeTimeId(Long id);

    Boolean selectByCarNumber(String cardNumber, Long id);

    PageResult selectAllByShopName(MemberQueryObject qo);

    List<Map<String, Object>> orderByAmount();

    BigDecimal selectByTotalAmount(String cardNumber);
}
